Linux管理

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Linux管理 >

ps_mem:一个用于精确报告Linux核心内存用量的简单Python脚本

来源:网络整理  作者:fen  发布时间:2020-12-26 10:58
ps_mem 是一个可以帮助我们精确获取 Linux 中各个程序核心内存使用情况的简单 python 脚本。虽然在 Linux 上有很多可用于...

ps_mem 是一个可以帮助我们精确获取 Linux 中各个程序核心内存使用情况的简单 python 脚本。虽然在 Linux 上有很多可用于查看内存使用情况的工具,比如 free、vmstat、smem、top 等,但这个工具和其它的区别在于其精确显示核心内存使用情况。

它会分别计算一个程序私有内存总量和共享内存总量,并以更准确的方式给出了总的内存使用量。很明显的,它将帮助大家知道系统中哪个程序正在占用更多的内存。

你可以通过包管理器、pip 、或直接运行 ps_mem.py 脚本等多种方式来安装 ps_mem 工具。需要注意的是:需要有 root 权限。

项目主页:https://github.com/pixelb/ps_mem

 

通过包管理器安装 ps_mem

基于 RHEL 的系统默认仓库就包含 ps_mem 工具,所以我们可以简单地通过包管理器进行安装。

对于 RHEL/CentOS ,使用 yum 包管理器 安装 ps_mem 包:

$ sudo yum install ps_mem

对于Fedora ,使用 dnf 包管理器 安装 ps_mem 包:

$ sudo dnf install ps_mem

对于 Arch Linux ,使用 pacman 包管理器 安装 ps_mem 包:

$ sudo pacman -S ps_mem

 

通过 pip 安装 ps_mem

pip 是在 Linux 上推荐使用的一种安装 Python 包的工具。可以使用 pip 命令而不是包管理器去获取最新的版本。使用 pip 包前,请确保你的系统上已安装过 pip 包。否则,先使用发行版本的包管理器安装 python-pip 包。

对于基于 Debian 的系统:

$ sudo apt-get install python-pip

对于基于 RHEL/CentOS 的系统:

$ sudo yum install python-pip

对于 Fedora

$ sudo dnf install python-pip

对于 openSUSE

$ sudo zypper install python-pip

对于基于 Arch Linux 的系统:

$ sudo pacman -S python-pip

最后,在 Linux 上运行 pip 工具安装 ps_mem :

$ sudo pip install ps_mem

 

直接运行 ps_mem.py 脚本

我们也可以从开发者 github 页面下载文件,并直接运行 ps_mem.py 脚本。

$ git clone https://github.com/pixelb/ps_mem.git && cd ps_mem

$ sudo python ps_mem.py

 

ps_mem 使用方法

不带任何参数直接运行 ps_mem 以精确获取每个程序的的核心内存使用情况。

$ sudo ps_mem

Private  +   Shared  =  RAM used   Program

1.6 MiB + 438.5 KiB =   2.1 MiB   packagekitd

1.7 MiB + 498.0 KiB =   2.1 MiB   indicator-application-service

912.0 KiB +   1.3 MiB =   2.2 MiB   window-stack-bridge

2.0 MiB + 350.5 KiB =   2.3 MiB   gnome-keyring-daemon

1.8 MiB + 575.0 KiB =   2.3 MiB   whoopsie

2.4 MiB + 304.5 KiB =   2.7 MiB   systemd-journald

2.7 MiB + 157.5 KiB =   2.8 MiB   ibus-engine-simple

2.7 MiB + 182.0 KiB =   2.9 MiB   ibus-dconf

2.7 MiB + 332.5 KiB =   3.0 MiB   NetworkManager

3.1 MiB + 169.5 KiB =   3.2 MiB   polkitd

1.9 MiB +   1.7 MiB =   3.6 MiB   systemd (2)

3.4 MiB + 172.5 KiB =   3.6 MiB   deja-dup-monitor

2.9 MiB + 685.0 KiB =   3.6 MiB   zeitgeist-datahub

2.9 MiB + 848.0 KiB =   3.7 MiB   python2.7

. . . . . .

222.1 MiB +   9.4 MiB = 231.5 MiB   compiz

286.2 MiB +  11.8 MiB = 298.0 MiB   firefox

---------------------------------

1.3 GiB

=================================

输出中打印出全路径:

$ sudo ps_mem -s

Private  +   Shared  =  RAM used   Program

3.2 MiB + 951.0 KiB =   4.1 MiB   /usr/lib/evolution/evolution-addressbook-factory

3.7 MiB + 826.5 KiB =   4.5 MiB   /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1

3.7 MiB + 853.0 KiB =   4.6 MiB   /usr/lib/unity-settings-daemon/unity-fallback-mount-helper

. . .  . . .

131.9 MiB + 168.0 KiB = 132.1 MiB   /usr/sbin/mysqld

222.1 MiB +   9.4 MiB = 231.5 MiB   /usr/bin/compiz

286.2 MiB +  11.8 MiB = 298.1 MiB   /usr/lib/firefox/firefox

---------------------------------

1.3 GiB

=================================

只显示特定的 PID 列表的内存使用情况:

$ sudo ps_mem -p 2886,4386

Private  +   Shared  =  RAM used   Program

13.5 MiB +   2.9 MiB =  16.4 MiB   gnome-terminal-server

286.2 MiB +  11.8 MiB = 298.0 MiB   firefox

---------------------------------

314.4 MiB

=================================

每 N 秒打印进程内存。以下命令每 2 秒报告一次内存使用情况:

$ sudo ps_mem w 2

只显示内存总量:

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/guanli/9249.shtml

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

ps_mem:一个用于精确报告Linux核心内存用量的简单Python脚本

2020-12-26 编辑:fen

ps_mem 是一个可以帮助我们精确获取 Linux 中各个程序核心内存使用情况的简单 python 脚本。虽然在 Linux 上有很多可用于查看内存使用情况的工具,比如 free、vmstat、smem、top 等,但这个工具和其它的区别在于其精确显示核心内存使用情况。

它会分别计算一个程序私有内存总量和共享内存总量,并以更准确的方式给出了总的内存使用量。很明显的,它将帮助大家知道系统中哪个程序正在占用更多的内存。

你可以通过包管理器、pip 、或直接运行 ps_mem.py 脚本等多种方式来安装 ps_mem 工具。需要注意的是:需要有 root 权限。

项目主页:https://github.com/pixelb/ps_mem

 

通过包管理器安装 ps_mem

基于 RHEL 的系统默认仓库就包含 ps_mem 工具,所以我们可以简单地通过包管理器进行安装。

对于 RHEL/CentOS ,使用 yum 包管理器 安装 ps_mem 包:

$ sudo yum install ps_mem

对于Fedora ,使用 dnf 包管理器 安装 ps_mem 包:

$ sudo dnf install ps_mem

对于 Arch Linux ,使用 pacman 包管理器 安装 ps_mem 包:

$ sudo pacman -S ps_mem

 

通过 pip 安装 ps_mem

pip 是在 Linux 上推荐使用的一种安装 Python 包的工具。可以使用 pip 命令而不是包管理器去获取最新的版本。使用 pip 包前,请确保你的系统上已安装过 pip 包。否则,先使用发行版本的包管理器安装 python-pip 包。

对于基于 Debian 的系统:

$ sudo apt-get install python-pip

对于基于 RHEL/CentOS 的系统:

$ sudo yum install python-pip

对于 Fedora

$ sudo dnf install python-pip

对于 openSUSE

$ sudo zypper install python-pip

对于基于 Arch Linux 的系统:

$ sudo pacman -S python-pip

最后,在 Linux 上运行 pip 工具安装 ps_mem :

$ sudo pip install ps_mem

 

直接运行 ps_mem.py 脚本

我们也可以从开发者 github 页面下载文件,并直接运行 ps_mem.py 脚本。

$ git clone https://github.com/pixelb/ps_mem.git && cd ps_mem

$ sudo python ps_mem.py

 

ps_mem 使用方法

不带任何参数直接运行 ps_mem 以精确获取每个程序的的核心内存使用情况。

$ sudo ps_mem

Private  +   Shared  =  RAM used   Program

1.6 MiB + 438.5 KiB =   2.1 MiB   packagekitd

1.7 MiB + 498.0 KiB =   2.1 MiB   indicator-application-service

912.0 KiB +   1.3 MiB =   2.2 MiB   window-stack-bridge

2.0 MiB + 350.5 KiB =   2.3 MiB   gnome-keyring-daemon

1.8 MiB + 575.0 KiB =   2.3 MiB   whoopsie

2.4 MiB + 304.5 KiB =   2.7 MiB   systemd-journald

2.7 MiB + 157.5 KiB =   2.8 MiB   ibus-engine-simple

2.7 MiB + 182.0 KiB =   2.9 MiB   ibus-dconf

2.7 MiB + 332.5 KiB =   3.0 MiB   NetworkManager

3.1 MiB + 169.5 KiB =   3.2 MiB   polkitd

1.9 MiB +   1.7 MiB =   3.6 MiB   systemd (2)

3.4 MiB + 172.5 KiB =   3.6 MiB   deja-dup-monitor

2.9 MiB + 685.0 KiB =   3.6 MiB   zeitgeist-datahub

2.9 MiB + 848.0 KiB =   3.7 MiB   python2.7

. . . . . .

222.1 MiB +   9.4 MiB = 231.5 MiB   compiz

286.2 MiB +  11.8 MiB = 298.0 MiB   firefox

---------------------------------

1.3 GiB

=================================

输出中打印出全路径:

$ sudo ps_mem -s

Private  +   Shared  =  RAM used   Program

3.2 MiB + 951.0 KiB =   4.1 MiB   /usr/lib/evolution/evolution-addressbook-factory

3.7 MiB + 826.5 KiB =   4.5 MiB   /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1

3.7 MiB + 853.0 KiB =   4.6 MiB   /usr/lib/unity-settings-daemon/unity-fallback-mount-helper

. . .  . . .

131.9 MiB + 168.0 KiB = 132.1 MiB   /usr/sbin/mysqld

222.1 MiB +   9.4 MiB = 231.5 MiB   /usr/bin/compiz

286.2 MiB +  11.8 MiB = 298.1 MiB   /usr/lib/firefox/firefox

---------------------------------

1.3 GiB

=================================

只显示特定的 PID 列表的内存使用情况:

$ sudo ps_mem -p 2886,4386

Private  +   Shared  =  RAM used   Program

13.5 MiB +   2.9 MiB =  16.4 MiB   gnome-terminal-server

286.2 MiB +  11.8 MiB = 298.0 MiB   firefox

---------------------------------

314.4 MiB

=================================

每 N 秒打印进程内存。以下命令每 2 秒报告一次内存使用情况:

$ sudo ps_mem w 2

只显示内存总量:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/guanli/9249.shtml

相关文章

风云图片

推荐阅读

返回Linux管理频道首页